// ==========================================================================
//										
//	- Terme (Header)	
//
// ==========================================================================

/**	
*	\file terme.h
*	\brief Ce fichier contiendra la classe Terme
*
* 		==========================================================================	\n
*			Une Terme est un objet qui est soit un <Facteur> \n
*			Soit <Facteur> <Operateur-multiplication> <Facteur>\n
* 		========================================================================== \n
*	\autor M.BOAZIZ R.BOUAYADI C.DRAMSY A.OCCELLO D.SENG
*	\version 0.1
*	\date 11 mai 2010 
*/
//	Une Terme est un objet qui est soit un <Facteur> 
//	Soit <Facteur> <Operateur-multiplication> <Facteur>
// ==========================================================================

#ifndef __TERME_H__
#define __TERME_H__

#include <iostream>
#include <vector>
#include "netg.h"
#include "facteur.h"
#include "opemul.h"
#include "element.h"

class Facteur;
class OpeMul;

class Terme : public Element
{
	private:
		std::vector<Facteur>* Facteurs;
		std::vector<OpeMul>* OpeMuls;
		
	public:
		// Constructeur
		Terme();
		
		// Destructeur
		virtual ~Terme();
				
		//Accesseur(s)
		std::vector<OpeMul>* getOpeMuls();		
		std::vector<Facteur>* getFacteurs();
		
		// Autres methodes
		void addFacteur(Facteur F);
		void addOpeMul(OpeMul O);
		
		void clearFacteurs();
		void clearOpeMuls();
		
			
};


#endif /* __TERME_H__ */
